#include <iostream>
#include <string>
#include <cstring>
#include <stack>
using namespace std;

bool Is(char t) //判断是否为数字和字符
{
	if ((t >= 'a' && t <= 'z') || (t >= 'A' && t <= 'Z') || (t >= '0' && t <= '9')) 
		return true;
	return false;
}

int cmp(char c)
{
	if (c == '+' || c == '-') return 1;
	else if (c == '*' || c == '/') return 2;
	return 0;
}

void PostPut()
{
	string s, t; //s为中缀，t为后缀
	cin >> s;
	stack<char>st;
	for (auto& e : s)
	{
		if (Is(e))t += e;
		else if (e == '(') st.push(e); //入栈
		else if (e == ')')
		{
			while (st.size() && st.top() != '(') //入括号内字符的字符全部出栈
			{
				t += st.top();
				st.pop();
			}
			if (st.size() && st.top() == '(')st.pop(); //清除一个左括号
		}
		else //为+-*/
		{
			while (st.size() && cmp(e) <= cmp(st.top()))
			{
				t += st.top();
				st.pop();
			}
			st.push(e);
		}
	}

	while (st.size()) //清除未入字符
	{
		t += st.top();
		st.pop();
	}

	cout << t << endl;
}

int main()
{
	PostPut();
	return 0;
}


//数据测试：
//X + A * (Y - B) - Z / F
//输出：
//XAYB - *+ZF / -
